PROCEDURE TForm4.TestShlWAPIPathSearchAndQualify(Sender : TObject);
VAR pathtotest : STRING;
VAR qualifiedpathbuf : ARRAY[0.. MAX_PATH] OF CHAR;
VAR bufsize : UINT;
VAR apiretval : BOOL;
VAR newinfoline : STRING;
BEGIN
pathtotest := '';
FillChar(qualifiedpathbuf, Length(qualifiedpathbuf), #0);
bufsize := 0;
apiretval := FALSE;
newinfoline := '';
pathtotest := 'C:\Windows\System32';
bufsize := Length(qualifiedpathbuf);
newinfoline := 'PathSearchAndQualify called with ' + pathtotest;
Memo1.Lines.Add(newinfoline);
apiretval := PathSearchAndQualify(PChar(pathtotest), qualifiedpathbuf, bufsize);
IF apiretval THEN
newinfoline := 'TRUE ' + qualifiedpathbuf
ELSE
newinfoline := 'FALSE';
Memo1.Lines.Add(newinfoline);
pathtotest := 'C:\Hello\World';
bufsize := Length(qualifiedpathbuf);
newinfoline := 'PathSearchAndQualify called with ' + pathtotest;
Memo1.Lines.Add(newinfoline);
apiretval := PathSearchAndQualify(PChar(pathtotest), qualifiedpathbuf, bufsize);
IF apiretval THEN
newinfoline := 'TRUE ' + qualifiedpathbuf
ELSE
newinfoline := 'FALSE';
Memo1.Lines.Add(newinfoline);
pathtotest := '\\SAMPLESERVER\DemoShare\DummyFolder\DummySubfolder';
bufsize := Length(qualifiedpathbuf);
newinfoline := 'PathSearchAndQualify called with ' + pathtotest;
Memo1.Lines.Add(newinfoline);
apiretval := PathSearchAndQualify(PChar(pathtotest), qualifiedpathbuf, bufsize);
IF apiretval THEN
newinfoline := 'TRUE ' + qualifiedpathbuf
ELSE
newinfoline := 'FALSE';
Memo1.Lines.Add(newinfoline);
pathtotest := 'X:\DummyFolder\DummySubfolder\HelloWorld.c';
bufsize := Length(qualifiedpathbuf);
newinfoline := 'PathSearchAndQualify called with ' + pathtotest;
Memo1.Lines.Add(newinfoline);
apiretval := PathSearchAndQualify(PChar(pathtotest), qualifiedpathbuf, bufsize);
IF apiretval THEN
newinfoline := 'TRUE ' + qualifiedpathbuf
ELSE
newinfoline := 'FALSE';
Memo1.Lines.Add(newinfoline);
pathtotest := '..\DummyFolder\DummySubfolder\HelloWorld.c';
bufsize := Length(qualifiedpathbuf);
newinfoline := 'PathSearchAndQualify called with ' + pathtotest;
Memo1.Lines.Add(newinfoline);
apiretval := PathSearchAndQualify(PChar(pathtotest), qualifiedpathbuf, bufsize);
IF apiretval THEN
newinfoline := 'TRUE ' + qualifiedpathbuf
ELSE
newinfoline := 'FALSE';
Memo1.Lines.Add(newinfoline);
pathtotest := '..\Y:\\DummyFolder/DummySubfolder/HelloWorld.c';
bufsize := Length(qualifiedpathbuf);
newinfoline := 'PathSearchAndQualify called with ' + pathtotest;
Memo1.Lines.Add(newinfoline);
apiretval := PathSearchAndQualify(PChar(pathtotest), qualifiedpathbuf, bufsize);
IF apiretval THEN
newinfoline := 'TRUE ' + qualifiedpathbuf
ELSE
newinfoline := 'FALSE';
Memo1.Lines.Add(newinfoline);
Memo1.Lines.Add('');
END; |